Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
arweave-stream-tx
Advanced tools
[![npm](https://img.shields.io/npm/v/arweave-stream-tx)](https://www.npmjs.com/package/arweave-stream-tx) [![tests](https://github.com/CDDelta/arweave-stream-tx/workflows/tests/badge.svg)](https://github.com/CDDelta/arweave-stream-tx/actions?query=workflo
Since the release of the v2 transaction format, Arweave theoretically supports data transactions of infinite size. However, common interfaces for creating Arweave transactions such as arweave-js
are limited in the size of transactions they can create due to their implementation requiring all transaction data be eagerly loaded into memory. This bounds them to their runtime memory limitations (eg. approx. ~2GB for Node) and prevents complete utility of Arweave's capabilities.
This package introduces async versions of methods provided in arweave-js
to allow the creation and upload of Arweave transactions of theoretically infinite size.
This package only works with Node 15+ and does not currently include browser support as browsers and NodeJS do not share a common streams API.
import Arweave from 'arweave';
import { createTransactionAsync, uploadTransactionAsync } from 'arweave-stream-tx';
import { createReadStream } from 'fs';
import { pipeline } from 'stream/promises';
const arweave = new Arweave({
host: 'arweave.net',
protocol: 'https',
port: 443,
logging: false,
timeout: 15000,
});
const filePath = '<file path>';
const wallet = await arweave.wallets.generate();
// Create the transaction.
const tx = await pipeline(createReadStream(filePath), createTransactionAsync({}, arweave, wallet));
await arweave.transactions.sign(tx, wallet);
// Upload it to Arweave.
await pipeline(createReadStream(filePath), uploadTransactionAsync(tx, arweave));
To build the package, run:
npm run build
To deploy the package, run:
npm publish
To execute the tests, run:
npm test
FAQs
[![npm](https://img.shields.io/npm/v/arweave-stream-tx)](https://www.npmjs.com/package/arweave-stream-tx) [![tests](https://github.com/CDDelta/arweave-stream-tx/workflows/tests/badge.svg)](https://github.com/CDDelta/arweave-stream-tx/actions?query=workflo
The npm package arweave-stream-tx receives a total of 34,166 weekly downloads. As such, arweave-stream-tx popularity was classified as popular.
We found that arweave-stream-tx demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.